﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using KPWeb.Function;
using KPWeb.Slowniki;

namespace KPWeb.Data
{
    public class Osoby
    {
        public static int GetOsobaID(string pesel)
        {
            using (DBContainer db = new DBContainer())
            {
                int iTemp = db.vKP_Osoby.Where(a => a.Pesel == pesel).Count();
                return (iTemp == 0 ? -1 : db.vKP_Osoby.Where(a => a.Pesel == pesel).Single().OsobaID);
            }
        }
        public static int GetOsobaJednostkaID(int osobaID)
        {
            using (DBContainer db = new DBContainer())
            {

                return (db.vKP_Osoby.Where(a => a.OsobaID == osobaID).Single().JednostkaID);
            }
        }
        public static IEnumerable<vKP_Osoby> GetListaOsob( int jednostkaID, int grupaID)
        {
            using (DBContainer db = new DBContainer())
            {
                IEnumerable<vKP_Osoby> aTemp = db.vKP_Osoby.Where(a => a.JednostkaID == jednostkaID && a.GrupaID == grupaID).ToArray();
                return (aTemp);
            }
        }
        public static IEnumerable<vKP_OsobyPlanyUrlopow> GetListaOsobPlanyUrlopow(int jednostkaID, int grupaID, int year)
        {
            using (DBContainer db = new DBContainer())
            {
                IEnumerable<vKP_OsobyPlanyUrlopow> aTemp = db.vKP_OsobyPlanyUrlopow.Where(a => a.JednostkaID == jednostkaID
                    && a.GrupaID == grupaID && (a.Year==year|| a.Year==0)).ToArray();

                              
                return (aTemp);
            }
        }
        public static int UpdateJednostkaGlowna(int jednostkaID, int jednostkaGlownaID)
        // jednostkę podajemy główną lub O gdy dotyczy koordynatora
        {
            using (DBContainer db = new DBContainer())
            {
                try
                {
                    var wiz = db.KP_JednostkiFirmy.Where(a => a.JednostkaID == jednostkaID && a.active=="t").Single();
                    wiz.JednostkaGlownaID = jednostkaGlownaID;
                   
                    db.SaveChanges();

                    return 0;
                }
                catch (Exception e)
                {
                    return -1;
                }

            }
        }
      
    }
}